// <copyright file="api.models.tt" company="Wicture">
//  Copyright ? . All Rights Reserved.
// </copyright>
using System;
using System.Collections.Generic;

namespace Wicture.QPZS.EPC
{
    public class AjaxResult<T>
    {
        public string statusCode { get; set; }
        public string errorMessage { get; set; }
        public T data { get; set; }
    }

	public class Pagination
    {
        public int totalCount { get; set; }
        public int pageSize { get; set; }
        public int pageIndex { get; set; }
    }

    public partial class GetBannersParam
    {
        public string version { get; set; }
    }

    public partial class GetBannersResult : AjaxResult<GetBannersResult.GetBannersResult_data>
    {
        public partial class GetBannersResult_data
        {
            public string name { get; set; }
            public string url { get; set; }
            public string action { get; set; }
        }
    }

    public partial class List_BrandsParam
    {
    }

    public partial class List_BrandsResult : AjaxResult<List_BrandsResult.List_BrandsResult_data>
    {
        public partial class List_BrandsResult_data
        {
            public int id { get; set; }
            public string code { get; set; }
            public string name { get; set; }
            public string icon { get; set; }
            public string displayOrder { get; set; }
        }
    }

    public partial class ListPopularBrandsParam
    {
    }

    public partial class ListPopularBrandsResult : AjaxResult<ListPopularBrandsResult.ListPopularBrandsResult_data>
    {
        public partial class ListPopularBrandsResult_data
        {
            public int id { get; set; }
            public string code { get; set; }
            public string name { get; set; }
            public string icon { get; set; }
            public string displayOrder { get; set; }
        }
    }

    public partial class ListBrandsParam
    {
        public string keyword { get; set; }
        public byte epcEnabled { get; set; }
        public byte vinEnabled { get; set; }
    }

    public partial class ListBrandsResult : AjaxResult<ListBrandsResult.ListBrandsResult_data>
    {
        public partial class ListBrandsResult_data
        {
            public int id { get; set; }
            public string code { get; set; }
            public string name { get; set; }
            public string icon { get; set; }
            public string displayOrder { get; set; }
        }
    }

    public partial class ListPopularBrandsParam
    {
    }

    public partial class ModelSelectorParam
    {
        public string brandCode { get; set; }
        public string id { get; set; }
        public string route { get; set; }
        public string vin { get; set; }
    }

    public partial class ModelSelectorResult : AjaxResult<ModelSelectorResult.ModelSelectorResult_data>
    {
        public partial class ModelSelectorResult_data
        {
            public string title { get; set; }
            public partial class ModelSelectorResult_data_items
            {
                public string id { get; set; }
                public string name { get; set; }
                public bool hasNext { get; set; }
                public string route { get; set; }
                public string code { get; set; }
            }
            public List<ModelSelectorResult_data_items> items { get; set; }
        }
    }

    public partial class QueryMainGroupParam
    {
        public string brandCode { get; set; }
        public string id { get; set; }
        public string vin { get; set; }
    }

    public partial class QueryMainGroupResult : AjaxResult<QueryMainGroupResult.QueryMainGroupResult_data>
    {
        public partial class QueryMainGroupResult_data
        {
            public int id { get; set; }
            public string code { get; set; }
            public string name { get; set; }
            public string imageUrl { get; set; }
            public int selectorId { get; set; }
            public bool hasNext { get; set; }
            public bool isSelected { get; set; }
        }
    }

    public partial class QuerySubGroupParam
    {
        public string brandCode { get; set; }
        public int id { get; set; }
        public string vin { get; set; }
        public int selectorId { get; set; }
        public string keyword { get; set; }
    }

    public partial class QuerySubGroupResult : AjaxResult<QuerySubGroupResult.QuerySubGroupResult_data>
    {
        public partial class QuerySubGroupResult_data
        {
            public int id { get; set; }
            public string code { get; set; }
            public string name { get; set; }
            public string mainGroupCode { get; set; }
            public string description { get; set; }
            public string imageUrl { get; set; }
            public bool belongTo { get; set; }
            public string imageSN { get; set; }
            public string remark { get; set; }
            public string applicableModel { get; set; }
            public int selectorId { get; set; }
            public partial class QuerySubGroupResult_data_imgs
            {
                public string url { get; set; }
                public partial class QuerySubGroupResult_data_imgs_points
                {
                    public string sn { get; set; }
                    public string x { get; set; }
                    public string y { get; set; }
                    public string w { get; set; }
                    public string h { get; set; }
                }
                public List<QuerySubGroupResult_data_imgs_points> points { get; set; }
            }
            public List<QuerySubGroupResult_data_imgs> imgs { get; set; }
        }
    }

    public partial class GetModelInfoParam
    {
        public string brandCode { get; set; }
        public int id { get; set; }
        public string vin { get; set; }
    }

    public partial class GetModelInfoResult : AjaxResult<GetModelInfoResult.GetModelInfoResult_data>
    {
        public partial class GetModelInfoResult_data
        {
            public string code { get; set; }
            public string name { get; set; }
            public string description { get; set; }
            public string imageUrl { get; set; }
            public partial class GetModelInfoResult_data_props
            {
                public string key { get; set; }
                public string value { get; set; }
            }
            public List<GetModelInfoResult_data_props> props { get; set; }
            public partial class GetModelInfoResult_data_features
            {
                public string key { get; set; }
                public string value { get; set; }
            }
            public List<GetModelInfoResult_data_features> features { get; set; }
        }
    }

    public partial class QueryPartsParam
    {
        public string brandCode { get; set; }
        public int id { get; set; }
        public string vin { get; set; }
        public int selectorId { get; set; }
        public string keyword { get; set; }
    }

    public partial class QueryPartsResult : AjaxResult<QueryPartsResult.QueryPartsResult_data>
    {
        public partial class QueryPartsResult_data
        {
            public string id { get; set; }
            public string partCode { get; set; }
            public string partName { get; set; }
            public string imageSN { get; set; }
            public decimal price { get; set; }
            public decimal cost { get; set; }
            public DateTime priceUpdatedAt { get; set; }
            public string mainGroupCode { get; set; }
            public string subGroupCode { get; set; }
            public bool belongToVin { get; set; }
            public string description { get; set; }
            public string quantity { get; set; }
            public string modelName { get; set; }
            public string brandCode { get; set; }
            public string brandName { get; set; }
            public string series { get; set; }
            public int firstYear { get; set; }
            public int lastYear { get; set; }
            public int selectorId { get; set; }
        }
    }

    public partial class QueryHotPointsParam
    {
        public int id { get; set; }
        public string brandCode { get; set; }
        public string vin { get; set; }
        public int selectorId { get; set; }
    }

    public partial class QueryHotPointsResult : AjaxResult<QueryHotPointsResult.QueryHotPointsResult_data>
    {
        public partial class QueryHotPointsResult_data
        {
            public partial class QueryHotPointsResult_data_imgs
            {
                public string url { get; set; }
                public partial class QueryHotPointsResult_data_imgs_points
                {
                    public string sn { get; set; }
                    public string x { get; set; }
                    public string y { get; set; }
                    public string w { get; set; }
                    public string h { get; set; }
                }
                public List<QueryHotPointsResult_data_imgs_points> points { get; set; }
            }
            public List<QueryHotPointsResult_data_imgs> imgs { get; set; }
        }
    }

    public partial class QueryVinParam
    {
        public string vin { get; set; }
    }

    public partial class QueryVinResult : AjaxResult<QueryVinResult.QueryVinResult_data>
    {
        public partial class QueryVinResult_data
        {
            public string vin { get; set; }
            public string code { get; set; }
            public string brandCode { get; set; }
            public string brandName { get; set; }
            public string name { get; set; }
            public string description { get; set; }
            public string imageUrl { get; set; }
            public string selectorType { get; set; }
            public partial class QueryVinResult_data_props
            {
                public string key { get; set; }
                public string value { get; set; }
            }
            public List<QueryVinResult_data_props> props { get; set; }
            public partial class QueryVinResult_data_features
            {
                public string key { get; set; }
                public string value { get; set; }
            }
            public List<QueryVinResult_data_features> features { get; set; }
            public partial class QueryVinResult_data_vins
            {
                public string vin { get; set; }
            }
            public List<QueryVinResult_data_vins> vins { get; set; }
        }
    }

    public partial class QueryPartDetailParam
    {
        public string brandCode { get; set; }
        public string partId { get; set; }
        public int selectorId { get; set; }
    }

    public partial class QueryPartDetailResult : AjaxResult<QueryPartDetailResult.QueryPartDetailResult_data>
    {
        public partial class QueryPartDetailResult_data
        {
            public int id { get; set; }
            public string partCode { get; set; }
            public string partName { get; set; }
            public string brandCode { get; set; }
            public string brandName { get; set; }
            public string unit { get; set; }
            public decimal cost { get; set; }
            public decimal price { get; set; }
            public string priceFC { get; set; }
            public string remark { get; set; }
            public DateTime priceUpdatedAt { get; set; }
            public partial class QueryPartDetailResult_data_replacements
            {
                public int id { get; set; }
                public string brandCode { get; set; }
                public string brandName { get; set; }
                public string partCode { get; set; }
                public string partName { get; set; }
                public decimal cost { get; set; }
                public decimal price { get; set; }
                public DateTime priceUpdatedAt { get; set; }
            }
            public List<QueryPartDetailResult_data_replacements> replacements { get; set; }
            public partial class QueryPartDetailResult_data_models
            {
                public string description { get; set; }
                public string mainGroupCode { get; set; }
                public string mainGroupName { get; set; }
                public string subGroupCode { get; set; }
                public string subGroupName { get; set; }
                public string imageSN { get; set; }
                public string imageUrl { get; set; }
                public string smallImageUrl { get; set; }
                public partial class QueryPartDetailResult_data_models_props
                {
                    public string key { get; set; }
                    public string value { get; set; }
                }
                public List<QueryPartDetailResult_data_models_props> props { get; set; }
                public partial class QueryPartDetailResult_data_models_imgs
                {
                    public string url { get; set; }
                    public partial class QueryPartDetailResult_data_models_imgs_points
                    {
                        public string sn { get; set; }
                        public string x { get; set; }
                        public string y { get; set; }
                        public string w { get; set; }
                        public string h { get; set; }
                    }
                    public List<QueryPartDetailResult_data_models_imgs_points> points { get; set; }
                }
                public List<QueryPartDetailResult_data_models_imgs> imgs { get; set; }
            }
            public List<QueryPartDetailResult_data_models> models { get; set; }
            public partial class QueryPartDetailResult_data_props
            {
                public string key { get; set; }
                public string value { get; set; }
            }
            public List<QueryPartDetailResult_data_props> props { get; set; }
        }
    }

    public partial class SyncModelSelectorParam
    {
        public string brandCode { get; set; }
    }

    public partial class SyncModelSelectorResult : AjaxResult<SyncModelSelectorResult.SyncModelSelectorResult_data>
    {
        public partial class SyncModelSelectorResult_data
        {
        }
    }

    public partial class CheckSubGroupImageParam
    {
        public string brandCode { get; set; }
        public string type { get; set; }
    }

    public partial class CheckSubGroupImageResult : AjaxResult<CheckSubGroupImageResult.CheckSubGroupImageResult_data>
    {
        public partial class CheckSubGroupImageResult_data
        {
        }
    }

    public partial class Sync_Part_To_AccessoriesParam
    {
        public string brandCode { get; set; }
    }

    public partial class Sync_Part_To_AccessoriesResult : AjaxResult<Sync_Part_To_AccessoriesResult.Sync_Part_To_AccessoriesResult_data>
    {
        public partial class Sync_Part_To_AccessoriesResult_data
        {
            public int count { get; set; }
        }
    }

    public partial class GetVinFromImageParam
    {
        public string imageUrl { get; set; }
    }

    public partial class GetVinFromImageResult : AjaxResult<GetVinFromImageResult.GetVinFromImageResult_data>
    {
        public partial class GetVinFromImageResult_data
        {
            public string vin { get; set; }
        }
    }

 
}

